var websock = null
var globalCallback = null

// 初始化weosocket
function initWebSocket(type) {
  // ws地址 -->这里是你的请求路径
  // var ws= 'ws://127.0.0.1:8001'
  // var ws= '192.168.0.101:8080' 任颖
  // http://139.196.29.59:80/
  // window.console.log(type)
  var ws = `ws://duodaiwang.com/spider/webSocket/${window.sessionStorage.getItem("id")}/${type}`
  websock = new WebSocket(ws)
  websock.onmessage = function (e) {
    websocketonmessage(e)
  }
  websock.onclose = function (e) {
    websocketclose(e)
    // setTimeout(() => {
    //   return initWebSocket(type)
    // }, 10000)
  }
  websock.onopen = function () {
    websocketOpen()
  }

  // 连接发生错误的回调方法
  websock.onerror = function () {
    console.log('WebSocket连接发生错误')
    // setTimeout(() => {
    //   return initWebSocket(type)
    // }, 10000)
  } 
  return websock
}

// 实际调用的方法
function websocketObj(type, callback, agentData) {
  globalCallback = callback
  let mywx = initWebSocket(type)
  if (websock.readyState === websock.OPEN) {
    if (!agentData) {
      websocketsend(agentData)
    }
  } else if (websock.readyState === websock.CONNECTING) {
    // 若是 正在开启状态，则等待1s后重新调用
    // setTimeout(function () {
    //   websocketObj(type, callback, agentData)
    // }, 10000)
  } else {
    // 若未开启 ，则等待1s后重新调用
    // setTimeout(function () {
    //   websocketObj(type, callback, agentData)
    // }, 10000)
  }
  return mywx
}


// function sendSock (agentData, callback) {
//   globalCallback = callback
//   if (websock.readyState === websock.OPEN) {
//     // 若是ws开启状态
//     websocketsend(agentData)
//   } else if (websock.readyState === websock.CONNECTING) {
//     // 若是 正在开启状态，则等待1s后重新调用
//     setTimeout(function () {
//       sendSock(agentData, callback)
//     }, 10000)
//   } else {
//     // 若未开启 ，则等待1s后重新调用
//     setTimeout(function () {
//       sendSock(agentData, callback)
//     }, 10000)
//   }
// }

// 数据接收
function websocketonmessage(e) {
  globalCallback(e.data)
}

// 数据发送
function websocketsend(agentData) {
  websock.send(JSON.stringify(agentData))
}

// 关闭
function websocketclose(e) {
  console.log('connection closed (' + e.code + ')')
  
}

// 创建 websocket 连接
function websocketOpen(e) {
  console.log('连接成功')
}

// initWebSocket()

// 将方法暴露出去
export {
  websocketObj
  // initWebSocket
}